// 单个账号申请项
interface RechargeApplyAccount {
  /** 广告账号ID */
  account_id: number | string;
  /** 充值金额 */
  amount: number | string;
  /** 唯一标识（用于前端操作） */
  key?: string;
}

// 原有单个申请的类型（保持兼容）
interface FormItemProps {
  /** 广告账号ID */
  account_id: number | string;
  /** 充值金额 */
  amount: number | string;
  /** 处理状态：1待处理2已充值3已驳回 */
  state?: number;
  /** 处理时间 */
  feedback_at?: number;
  /** 处理反馈 */
  feedback_content?: string;
  /** 申请人ID */
  creator_id?: number;
  /** 创建时间 */
  created_at?: number;
  /** 更新时间 */
  updated_at?: number;
}

// 批量申请的表单类型
interface BatchFormItemProps {
  /** 账号使用者ID */
  user_id?: number | string;
  /** 申请项列表 */
  accounts: RechargeApplyAccount[];
}

interface RechargeApplyItem extends FormItemProps {
  /** 申请ID */
  id: number;
  /** 账号信息 */
  account_info?: string;
  /** 申请人名称 */
  creator_name?: string;
  /** 状态文本 */
  state_text?: string;
  /** 状态类型 */
  state_type?: string;
  /** 格式化金额 */
  formatted_amount?: string;
  /** 格式化创建时间 */
  formatted_created_at?: string;
  /** 格式化处理时间 */
  formatted_feedback_at?: string;
  /** 广告账号详情 */
  ad_account?: {
    id: number;
    account_no: string;
  };
  /** 申请人详情 */
  creator?: {
    id: number;
    username: string;
  };
}

interface FormProps {
  formInline: FormItemProps;
}

interface ProcessFormProps {
  /** 处理状态：2已充值3已驳回 */
  state: number;
  /** 处理反馈 */
  feedback_content?: string;
}

interface StateOption {
  value: number;
  label: string;
}

interface AccountOption {
  value: number;
  label: string;
}

interface UserOption {
  value: number;
  label: string;
  accounts?: AccountOption[];
}

export type { 
  FormItemProps, 
  FormProps, 
  RechargeApplyItem, 
  ProcessFormProps,
  StateOption,
  AccountOption,
  UserOption,
  RechargeApplyAccount,
  BatchFormItemProps
};
